home *** CD-ROM | disk | FTP | other *** search
- F********************************************************************
- F* *
- F* PGMID - DDS01RPF02 *
- F* *
- F* FUNCTION - GENERATE RECORD LEVEL PHYSICAL FILE DDS *
- F* *
- F* AUTHOR - TERRENCE W. MOYER *
- F* 55 KEPPEL AVE. *
- F* WEST LAWN, PA. 19609 *
- F* *
- F* DATE - NOV. 3, 1986 *
- F* *
- F* INDICATORS - 10 GENERAL PURPOSE, REUSABLE. *
- F* *
- F* NOTES - *
- F* SUPPORTED KEYWORDS *
- F* TEXT *
- F* FORMAT (SUPPORTED BY INCLUDING THE FIELD *
- F* DEFINITIONS OF THE REFERENCED *
- F* FILE-FORMAT IN THE GENERATED DDS). *
- F* *
- F********************************************************************
- FQADSPFFDIF E DISK UC
- FSRCFIL O F 92 DISK A UC
- E WRK 68 1 WORK ARRAY
- E WRK1 36 1 DDS FUNCT. FIELD
- I* LDA WITH INPUT FILE AND SOURCE FILE INFORMATION
- I UDS
- I 1 10 LINFL
- I 11 20 LINLB
- I 21 26 LINDT
- I 27 32 LINTM
- I 33 33 LINTYP
- I 51 100 LINTXT
- I 101 110 LSRCFL
- I 111 120 LSRCLB
- I 121 130 LSRCMB
- I 201 2062LSRCSQ
- I 207 2120LSRCDT
- I* SOURCE SEQUENCE AND SOURCE DATE DS - WRITTEN TO DDS SRCFILE.
- I DS
- I 1 62SRCSEQ
- I 7 120SRCDAT
- I* DDS SPECIFICATION - TO WRITE ACTUAL SPEC RECORDS TO DDS SRCFILE.
- IDSPEC DS
- I 1 5 DBLNK1
- I 6 6 DSPECA
- I 7 16 DBLNK2
- I 17 17 DNMTYP
- I 18 18 DBLNK3
- I 19 28 DNAME
- I 29 29 DREF
- I 30 340DLEN
- I 35 35 DDTYP
- I 36 370DDEC
- I 38 44 DBLNK4
- I 45 80 DFUNC
- I 1 80 DSPEC1
- I 7 80 DSPEC2
- C*------------------------------------------------------------------*
- C* MAINLINE *
- C*------------------------------------------------------------------*
- C* INITIALIZATION AND SETUP.
- C*
- C Z-ADDLSRCSQ SRCSEQ RETRIEVE SRCSEQ
- C Z-ADDLSRCDT SRCDAT AND SRCDAT.
- C MOVE 'A' DSPECA INIT. SPEC. DS.
- C*
- C OPEN SRCFIL OPEN FILES.
- C OPEN QADSPFFD
- C READ QADSPFFD 10 GET RECRD.
- C*
- C*------------------------------------------------------------------*
- C* WRITE RECORD LEVEL KEYWORDS.
- C*------------------------------------------------------------------*
- C*
- C* WRITE RECORD FORMAT NAME AND RECORD TEXT IF NOT BLANK.
- C MOVE 'R' DNMTYP BUILD DDS SPEC.
- C MOVE WHNAME DNAME
- C*
- C WHTEXT IFNE *BLANK BEGIN TEXT.
- C MOVEA'TEXT(''' WRK1 INIT FUNC ARRAY
- C Z-ADD+7 Y 40 AND INDEX.
- C MOVEAWHTEXT WRK FIND LENGTH OF
- C Z-ADD+50 X 40 FILE TEXT.
- C WRK,X DOWEQ' '
- C SUB +1 X
- C END
- C Z-ADDX TXTLEN 40 SAVE LENGTH.
- C* MOVE TEXT TO FUNCTION WORK ARRAY.
- C Z-ADD+1 X FOR X = 1
- C X DOWLETXTLEN TO TXTLEN DO
- C MOVE WRK,X WRK1,Y MOVE A CHAR.
- C ADD +1 X ADD TO INDEX.
- C ADD +1 Y
- C X IFEQ +30 CHECK FOR
- C MOVE '-' WRK1,Y CONTINUATION
- C MOVEAWRK1 DFUNC LINES
- C MOVE DSPEC1 LINE 80
- C EXSR @SRCLN WRITE THE
- C MOVE *BLANK WRK1 CONTINUATION
- C Z-ADD+1 Y LINE.
- C MOVE *BLANK DSPEC2
- C END END CONTIUATION
- C END END DOWLE TXTL.
- C MOVEA''')' WRK1,Y MOVE IN END-
- C MOVEAWRK1 DFUNC QUOTE AND PAREN.
- C MOVE DSPEC1 LINE WRITE TEXT.
- C EXSR @SRCLN
- C MOVE *BLANK DSPEC2
- C ELSE
- C MOVE DSPEC1 LINE WRITE
- C EXSR @SRCLN FORMAT NAME.
- C END END TEXT IF.
- C*
- C* CLOSE FILES, PASS DATA, AND END PROGRAM.
- C*
- C CLOSEQADSPFFD
- C CLOSESRCFIL
- C*
- C Z-ADDSRCSEQ LSRCSQ PASS SRCSEQ
- C Z-ADDSRCDAT LSRCDT AND SRCDAT
- C SETON LR
- C*
- C*------------------------------------------------------------------*
- C* ADD TO SOURCE SEQUENCE NUMBER AND WRITE AN OUTPUT LINE
- C*------------------------------------------------------------------*
- C*
- C @SRCLN BEGSR
- C*
- C ADD +1 SRCSEQ
- C EXCPTSRCLIN
- C*
- C ENDSR
- C*------------------------------------------------------------------*
- C/SPACE 3
- OSRCFIL EADD SRCLIN
- O SRCSEQ 6
- O SRCDAT 12
- O LINE 92
-